<?php
/**
 * @desc Funktionen zum Speichern, Lesen und Bearbeiten von Bloginhalten 
 */
class model_blog
{
	/**
	 * @desc Liest rekursiv unter /files/blog gespeicherte Dateien ein.
	 * @return array
	 */
	public function getFiles()
	{
		$articles = array();
		$dir = new RecursiveDirectoryIterator('files/blog');

		foreach(new RecursiveIteratorIterator($dir) as $file)
		{
			//SplFileInfo::getMTime — Gets the last modified time
			$articles[$file->getMTime()] = $file;
		}

		return $articles;
	}

	/**
	 * @desc Liest rekursiv unter /files/blog angelegte Ordner ein.
	 * @return array
	 */
	public function getDirs()
	{
		$dir_array = array();

		$dir  = 'files/blog';
		$iter = new RecursiveDirectoryIterator($dir);
		foreach(new RecursiveIteratorIterator($iter, RecursiveIteratorIterator::CHILD_FIRST) as $f)
		{
			if($f->isDir())
			{
				array_push($dir_array,$f->getFilename());
			}
		}

		return $dir_array;
	}
	
	/**
	 * @des Formatiert ein "article_array" zur Ausgabe auf einer Webseite
	 * @return String 
	 */
	public function getArticles()
	{
		$html = '';
		$articles = self::getFiles(); krsort($articles);// sort by key high to low

		foreach($articles as $article)
		{
			$lines = file($article->__toString());

			$html .= "\t\t\t<article>\n";
			$html .= "\t\t\t\t<header>\n";
			$html .= "\t\t\t\t</header>\n";

			foreach($lines as $line)
			{
				$html .= "\t\t\t\t".trim($line)."<br>\n";
			}

			$html .= "\t\t\t\t<footer>\n";
			$html .= "\t\t\t\t</footer>\n";
			$html .= "\t\t\t</article>\n";
		}

		$html = str_replace('</h2><br>','</h2>',$html);
		$html = str_replace('</h3><br>','</h3>',$html);

		return $html;
	}
}